export default class LocalDate extends Date {
  constructor(num) {
    if (num) {
      super(num)
    } else {
      super()
    }
  }

  format(formatStr) {
    if (!formatStr) {
      return null
    }
    var regx = {
      'M+': this.getMonth() + 1, //月份
      'd+': this.getDate(), //日
      'h+': this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //12小时
      'H+': this.getHours(), //24小时
      'm+': this.getMinutes(), //分
      's+': this.getSeconds(), //秒
      'q+': Math.floor((this.getMonth() + 3) / 3), //季度
      S: this.getMilliseconds(), //毫秒
    }
    if (new RegExp('(y+)').test(formatStr)) {
      formatStr = formatStr.replace(
        RegExp.$1,
        (this.getFullYear() + '').substr(4 - RegExp.$1.length)
      )
    }
    for (let key in regx) {
      if (new RegExp('(' + key + ')').test(formatStr)) {
        formatStr = formatStr.replace(
          RegExp.$1,
          RegExp.$1.length == 1
            ? regx[key]
            : ('00' + regx[key]).substr(('' + regx[key]).length)
        )
      }
    }
    return formatStr
  }
}
